Parallel and serial access to test compression architectures

ABSTRACT

The disclosure describes novel methods and apparatuses for accessing test compression architectures (TCA) in a device using either a parallel or serial access technique. The serial access technique may be controlled by a device tester or by a JTAG controller. Further the disclosure provides an approach to access the TCA of a device when the device exists in a daisy-chain arrangement with other devices, such as in a customer&#39;s system. Additional embodiments are also provided and described in the disclosure.

FIELD OF THE DISCLOSURE

This Application is a divisional of prior application Ser. No.13/343,998, filed Jan. 5, 2012, currently pending;

Which was a divisional of prior application Ser. No. 12/795,326, filedJun. 7, 2010, now U.S. Pat. No. 8,112,685, granted Feb. 7, 2012;

Which claims priority from Provisional Application No. 61/186,117, filedJun. 11, 2009.

This disclosure relates generally to test compression architectures inelectrical devices and in particular to accessing test compressionarchitectures using either a parallel or serial interface.

BACKGROUND OF THE DISCLOSURE

A growing number of electrical devices, which may be ICs or embeddedcores within ICs, are being tested using test compression architectures(TCA), such as Mentor's TestKompress™ embedded deterministic testtechnology, incorporated herein by reference. Fundamentally a TCAconsists of three elements, a decompressor circuit, a parallel scan patharrangement, and a compactor circuit. The decompressor circuit receivescompressed input data from one or more inputs from a tester,decompresses the compressed input data into parallel stimulus patternsthat are input to parallel scan paths. The compactor circuit receivesparallel response patterns that are output from the parallel scan paths,compacts the response patterns down to one or more compressed dataoutputs that are input to the tester. A first advantage of TCAs is thatthey allow a large number of shorter length parallel scan paths to beaccessed using only a small number of compressed data inputs andcompressed data outputs. A second advantage of TCAs is that they reducethe amount of test data that needs to be transmitted between the testerand device under test, since the test data is compressed. The presentdisclosure provides methods and apparatuses for enabling a device TCA tobe accessed for testing using either a parallel bus of compressed inputand compressed output test signals or a serial bus of a compressed inputand compressed output test signals.

FIG. 1 illustrates an example of device 100 containing a testcompression architecture (TCA) 102. The TCA 102 is interfaced to anexternal tester via a parallel bus of N compressed data input (CI)signals, a parallel bus of N compressed data output (CO) signals, a scanclock (SC) input, and a scan enable (SE) input. While TCAs may use onlya single CI input and a single CO output, it is more common in a devicemanufacturing test environment to use a bus of parallel CI inputs and abus of parallel CO outputs, since this reduces device test time. The TCA102 comprises a decompressor 104, a compactor 106, and parallel scanpaths 108. The TCA 102 may also include a clock selector (CS) 110 toallow the parallel scan paths to be clocked by the devices functionalclock (FC) at times when the parallel scan paths are capturing responsedata. The decompressor has inputs coupled to the CI, SC and SE inputsand outputs coupled to the scan inputs (SI) of the parallel scan paths108. The compactor has inputs coupled to the scan outputs (SO) ofparallel scan paths 108 and an output coupled to the CO output. Theparallel scan paths 108, in addition to the SI inputs and SO outputs,have inputs coupled to the SC and SE inputs, inputs coupled to responseoutputs from combinational logic, and outputs coupled to stimulus inputsto combinational logic, as shown in FIG. 3. If the CS 110 is used, theSE input will control it to pass the SC signal to the parallel scanpaths 108 during shift operations and to pass the FC signal to theparallel scan paths 108 during capture operations.

FIG. 2 illustrates the operational states 202 and 204 of the TCA duringtest. In state 202 when the SE input is low and an SC input occurs theparallel scan paths capture response data from the combinational logicand the decompressor is reset to a known state. If CS 110 is used, thelogic low on SE will select the FC signal to clock the parallel scanpaths in state 202. In state 204 when the SE input is high and SC inputsoccur the decompressor 104 decompresses the data input on CI inputs intoparallel scan inputs (SI) that are shifted into the parallel scan paths,and the compactor 106 inputs and compacts the parallel scan outputs (SO)from the parallel scan paths into compressed outputs that are output onthe CO outputs. If CS 110 is used, the logic high on SE will select theSC signal to clock the parallel scan paths in state 204. The TCA willremain in state 204 until the compressed input to the parallel scanpaths and the compressed output from the scan paths is complete. As canbe seen the capture and shift operation states of the TCA is similar tothe capture and shift operation states of conventional scan paths, withthe exception that the TCA includes the additional operations ofdecompressing the data input on the CI inputs to produce the scan inputs(SI) to the parallel scan paths and compressing the scan outputs (SO)from the parallel scan paths into a compressed form that can be outputon the CO outputs.

While the example of FIG. 2 shows SE being low in state 202 and high instate 204, the logic levels of SE for these states could be reversed ifdesire.

Most known decompressors 104 utilize a linear feedback state machine(LFSM) in conjunction with a phase shifter circuit to produce the outputpatterns that are applied to the SI inputs of the parallel scan paths108. In the referenced Mentor TestKompress™ technology, the LFSM isreferred to as a ring generator which is a particular type of linearfeedback shift register. The ring generator receives the CI input dataand, in response, produces pseudo random input patterns to the phaseshifter. The phase shifter responds to the pseudo random input patternsto output stimulus input (SI) patterns to the parallel scan paths. TheCI input data modifies the output patterns from the ring generator toallow the phase shifter to produce the desired stimulus pattern input tothe parallel scan paths.

Most known compactors 106 utilize XOR gating trees that input the scanoutputs (SO) from the parallel scan paths and compress them, via XORgating, into compacted signals that can be output on the CO outputs.While simple compactors may only use XOR gating trees, moresophisticated compactors, such as the compactor used the referenceMentor TestKompress™ technology, may use XOR gating trees in combinationwith masking circuitry to allow masking off unknown scan outputs (SO)from the parallel scan path scan to prevent the unknown scan outputsfrom corrupting the compacted signals output on the CO outputs. If thecompactor contains masking circuitry it can receive masking data (MD)from the decompressor 104 and control from SC and SE to load the maskingdata, as shown in dotted line in FIG. 1.

FIG. 4 illustrates an example of a device 402 with a TCA 102 beingconnected to an external parallel tester 404 via parallel CI (PCI),parallel CO (PCO), SC, and SE interface signals to allow TCA testpatterns to be applied to the device. This example is typical of how thedevice manufacturer would test the device.

FIG. 5 illustrates the tester 404 of FIG. 4 operating the SC and SEsignals to perform a TCA scan cycle. The scan cycle includes a captureoperation 502 that Captures response data and Resets the decompressor toa starting seed state, i.e. state 202 of FIG. 2, followed by a shiftoperation 504, whereby the tester inputs PCI data to the TCAdecompressor 104 and receives PCO data from the TCA compactor 106, i.e.state 204 of FIG. 2. The response capture and decompressor resetoperation is indicated in this and following timing diagrams as CR. Theshift operation 504 continues until the parallel scan paths are filledwith stimulus data and emptied of response data. The scan cycle of FIG.5 repeats 508 until all the TCA test patterns have been applied and theTCA test is complete.

FIGS. 4 and 5 have illustrated an example of how a tester 404 can accessa device's TCA 102 for testing when a connection can be made between thetester and the device's TCA interface. As seen in FIG. 4 the connectionbetween the tester and device TCA requires a direct connection for thePCI signals, a direct connection for the SC signal, a direct connectionfor the SE signal and a direct connection for the PCO signal.

The present disclosure, as will described in detail below, identifieshow to modify a TCA to allow the TCA to be selectively accessed usingparallel CI and parallel CO signals coupled to high cost paralleltesters as shown in regard to FIG. 4 or using serial CI (SCI) and serialCO (SCO) signals coupled to low cost serial testers. Additionally, thedisclosure identifies how to test a device TCA using low cost JTAGcontrollers.

BRIEF SUMMARY OF THE DISCLOSURE

This disclosure provides methods and apparatuses for selectivelyenabling device TCA testing to occur using high cost parallel testers orlow cost serial testers or JTAG controllers.

BRIEF DESCRIPTION OF THE VIEWS OF THE DRAWINGS

FIG. 1 illustrates a conventional test compression architecture (TCA)within a device.

FIG. 2 illustrates the basic operations of a TCA.

FIG. 3 illustrates the stimulus and response connections betweencombinational logic and TCA scan paths in a device.

FIG. 4 illustrates a connection between a tester and a device TCA.

FIG. 5 illustrates timing of a tester applying TCA scan cycles.

FIG. 6 illustrates a first embodiment of a programmable access TCA (PAT)according to the disclosure.

FIG. 7 illustrates a parallel access test mode to the first PATembodiment according to the disclosure.

FIG. 8 illustrates a serial access test mode to the first PAT embodimentaccording to the disclosure.

FIG. 9 illustrates a second embodiment of a programmable access TCA(PAT) according to the disclosure.

FIG. 10 illustrates a serial access test mode to the second PATembodiment according to the disclosure.

FIG. 11 illustrates a circulate test mode of the second PAT embodimentaccording to the disclosure.

FIG. 12 illustrates a parallel test connection between a tester and aPAT within a device according to the disclosure.

FIG. 13 illustrates the timing between the tester and device of FIG. 12according to the disclosure.

FIG. 14 illustrates a serial test connection between a tester and a PATwithin a device according to the disclosure.

FIG. 15 illustrates the timing between the tester and device of FIG. 14according to the disclosure.

FIG. 16 illustrates a serial test connection between a JTAG controllerand a PAT within a device according to the disclosure.

FIG. 17 illustrates a detail view of the 1149.1 test access port (TAP)of the device of FIG. 16 according to the disclosure.

FIG. 18 illustrates the operational state diagram of the 1149.1 TAPcontroller of FIG. 17.

FIG. 19 illustrates additional TAP circuitry for providing a PAT scanclock (SC) signal according to the disclosure.

FIG. 20 illustrates additional TAP circuitry for providing a PAT clock(CK) signal according to the disclosure.

FIG. 21 illustrates additional TAP circuitry for providing a PAT scanenable (SE) signal according to the disclosure.

FIG. 22 illustrates TAP controller state transitions for seriallytesting a PAT according to the disclosure.

FIG. 23 illustrates the operation of the CK, SC, and SE signals duringthe TAP controller state transitions of FIG. 22.

FIG. 24 illustrates a JTAG controller accessing a group of devices in adaisy-chain arrangement.

FIG. 25 illustrates the TAP controller state transitions during JTAGcontroller access of the devices in the daisy-chain arrangement of FIG.24.

FIG. 26 illustrates a JTAG controller accessing the PAT of a firstdevice in a daisy-chain arrangement of devices according to thedisclosure.

FIG. 27 illustrates the TAP controller state transitions during JTAGcontroller access of the PAT of FIG. 26 according to the disclosure.

FIG. 28 illustrates a JTAG controller accessing the PAT of anintermediate device in a daisy-chain arrangement of devices according tothe disclosure.

FIG. 29 illustrates the TAP controller state transitions during JTAGcontroller access of the PAT of FIG. 28 according to the disclosure.

FIG. 30 illustrates a JTAG controller accessing the PAT of a last devicein a daisy-chain arrangement of devices according to the disclosure.

FIG. 31 illustrates the TAP controller state transitions during JTAGcontroller access of the PAT of FIG. 30 according to the disclosure.

FIG. 32 illustrates alternate TAP controller state transitions forserially testing a PAT according to the disclosure.

FIG. 33 illustrates the operation of the CK, SC, and SE signals duringthe alternate TAP controller state transitions of FIG. 32.

FIG. 34 illustrates alternate additional TAP circuitry for providing aPAT scan enable (SE) signal according to the disclosure.

FIG. 35 illustrates a JTAG controller accessing the PAT of a firstdevice in a daisy-chain arrangement of devices using the alternate SEcircuitry of FIG. 34 according to the disclosure.

FIG. 36 illustrates the TAP controller state transitions during JTAGcontroller access of the PAT of FIG. 35 according to the disclosure.

FIG. 37 illustrates a JTAG controller accessing the PAT of anintermediate device in a daisy-chain arrangement of devices using thealternate SE circuitry of FIG. 34 according to the disclosure.

FIG. 38 illustrates the TAP controller state transitions during JTAGcontroller access of the PAT of FIG. 37 according to the disclosure.

FIG. 39 illustrates a JTAG controller accessing the PAT of a last devicein a daisy-chain arrangement of devices using the alternate SE circuitryof FIG. 34 according to the disclosure.

FIG. 40 illustrates the TAP controller state transitions during JTAGcontroller access of the PAT of FIG. 39 according to the disclosure.

FIG. 41 illustrates a PAT controller located between a device TAP and aprogrammable access test compression architecture according to thedisclosure.

FIG. 42 illustrates circuitry added to the device TAP to enable the PATcontroller of FIG. 41 according to the disclosure.

FIG. 43 illustrates the PAT controller of FIG. 41 in more detail.

FIG. 44 illustrates the operational state diagram of the PAT controllerof FIG. 43.

FIG. 45 illustrates the operational timing diagram of the PAT controllerof FIG. 43.

DETAILED DESCRIPTION OF THE DISCLOSURE

FIG. 6 illustrates how a TCA 102 is modified into a programmable accessTCA (PAT) 602 according to the disclosure. As seen the PAT 602 comprisesa TCA 102, a multiplexer (M) 604, an input shift register (ISR) 606, andan output shift register (OSR) 608. TCA 102 inputs a bus of PCI signalsfrom M 604 and the SE and SC signal from terminals on the PAT. TCA 102outputs a bus of PCO signals to OSR 608 and to terminals on the PAT. M604 inputs a bus of PCI signals from terminals on the PAT, a bus of PCIsignals from ISR 606, and a select (SEL) signal from a terminal on thePAT. The ISR 606 inputs a serial compressed input (SCI) signal from aterminal on the PAT and a clock (CK) signal from a terminal on the PAT.The ISR 606 outputs a bus of PCI signals to M 604. The OSR 608 inputsthe bus of PCO signals from the TCA, the CK signal, and the SE signal.The OSR 608 outputs a serial compressed output (SCO) signal to aterminal of the PAT 602. ISR 606 is a serial to parallel register thatresponds to the CK signal to input serial data from SCI and output thedata in parallel on the PCI output bus. OSR 608 is a parallel to serialregister that responds to the CK signal to; (1) load parallel data fromthe TCA's PCO bus when SE is in a first state (high in this disclosure)and (2) to shift the loaded data out on the SCO signal when SE is in asecond state (low in this disclosure).

FIG. 7 illustrates the operational states 702 and 704 of the PAT 602when the SEL signal is set to place the PAT in the parallel test mode.As seen, operational state 702 is the same as operational state 202 ofFIG. 2 in that when SE is low and an SC clock occurs response iscaptured into the TCA scan paths 108 and the TCA decompressor (D) 104 isreset. Also as seen, operational state 704 is the same as operationalstate 204 of FIG. 2 in that when SE is high and SC clocks occur PCI datafrom the PAT terminals is shifted into the TCA's decompressor 104, thescan paths are shifted to input SI data from the decompressor and tooutput SO data to the compactor 106 to be output on the PAT's PCOterminals. The parallel test mode requires use of the PCI, PCO, SC, SE,and SEL PAT signal terminals.

FIG. 8 illustrates the operational states 802, 804, and 806 of the PAT602 when the SEL signal is set to place the PAT in the serial test mode.State 802 is the same as state 702 of FIG. 7 in that in response to theSC and SE signals the scan paths capture response data and thedecompressor (D) is reset. In state 804 the SE signal is low and the CKinput is active to shift SCI data into ISR 604 from the SCI inputterminal and to shift SCO data from OSR 608 to the SCO output terminal.In state 806 the SE signal is high and a CK occurs to shift PCI datafrom ISR 606 into the TCA scan paths 108, via M 604, and to load PCOdata from the TCA compactor 106 into OSR 608. The serial test moderequires use of the SCI, SCO, CK, SC, SE, and SEL PAT signal terminals.

FIG. 9 illustrates an alternate way of modifying a TCA 102 modified intoa programmable access TCA (PAT) 902 according to the disclosure. As seenthe PAT 902 comprises a TCA 102, a multiplexer (M) 604, and aninput/output shift register (IOSR) 904. TCA 102 inputs a bus of PCIsignals from M 604 and the SE and SC signal from terminals on the PAT.TCA 102 outputs a bus of PCO signals to IOSR 904 and to terminals on thePAT. M 604 inputs a bus of PCI signals from terminals on the PAT, a busof PCI signals from IOSR 904, and the SEL signal from a terminal on thePAT. The IOSR 904 inputs the SCI signal from a terminal on the PAT, thePCO output bus from the TCA 102, the CK signal from a terminal on thePAT, and the SE signal from a terminal on the PAT. The IOSR 904 outputsa bus of PCI signals to M 604 and the SCO signal to a terminal on thePAT. IOSR 904 is a serial to parallel and parallel to serial registerthat responds to the CK and SE signals to; (1) input serial data fromSCI and output the data in parallel on the PCI output bus to TCA 102 viaM 604 and (2) input the parallel PCO data from the TCA and seriallyoutput the PCO data on SCO. IOSR 904 inputs parallel data from PCO whenSE is in a first state (high in this disclosure) and a clock is appliedto the CK signal. IOSR 904 serially inputs data from SCI and seriallyoutputs data on SCO when SE is in a second state (low in thisdisclosure) and clocks are applied to the CK signal.

When PAT 902 is placed in the parallel test mode by the SEL signal, itsoperational states are exactly the same as described and shown in regardto PAT 602 of FIGS. 6 and 7.

FIG. 10 illustrates the operational states 1002, 1004 and 1006 of PAT902 when the SEL signal is set to place the PAT 902 in the serial testmode. As seen, the operational state 1002 of PAT 902 is the same as theoperational state 802 of PAT 602 of FIG. 7. Operational state 1004 ofPAT 902 only differs from operation state 804 of PAT 602 of FIG. 7 inthat during operational state 1004 SCI is shifted into IOSR and SCO isshifted out of IOSR, instead of into and out of the separate ISR 606 andOSR 608 respectively. Operational state 1006 of PAT 902 only differsfrom operation state 806 of PAT 602 of FIG. 7 in that during operationalstate 1006 PCO data is loaded into IOSR 904 instead of OSR 608.

FIG. 11 illustrates additional operational states 1102 and 1104 that arepossible with PAT 902. State 1102 is the same as states 1002 and 802.State 1104 allows the PCO output from TCA 102 to be circulated throughIOSR 904 and M 604 to be input to the PCI input of TCA 102. To operatein this PCO to PCI circulate test mode the SE input is high and clocksare applied to the CK input. This circulation mode of operation isuseful for self testing the operation of the TCA 102, the IOSR 904 and M604 circuitry and the connections between these circuits. During state1104 the TCA operates to input PCI and output PCO, IOSR 904 operates toinput PCO from the TCA and output PCI to M 604, and M 604 operates topass the PCI output from IOSR 904 to the PCI input of TCA 102. Duringstate 1104 the PCO outputs from PAT 902 can be monitored by an externaltester or by monitoring circuitry in the device to verify that data isbeing correctly circulated from the TCA PCO outputs to the TCA PCIinputs via the IOSR 904 and M 604.

FIG. 12 illustrates a device 1202 with a PAT 1204 coupled to a paralleltester 1206 via PCI, SEL, SC, SE, and PCO signals. PAT 1204 could beeither PAT 602 of FIG. 6 or PAT 902 of FIG. 9. PAT 1204 is set to theparallel test mode by the SEL signal.

FIG. 13 illustrates the scan cycle timing operation of PAT 1204 in theparallel test mode. As seen in FIG. 13, the PAT scan cycle capture andreset (CR) operation 1302 and shift operation 1304 timing from tester1206 is the same as the TCA scan cycle capture and reset operation 502and shift operation 504 timing from tester 404 of FIG. 5. The onlydifference between the PAT test arrangement of FIG. 12 and the TCA testarrangement of FIG. 4 is that tester 1206 provides the SEL signal to PAT1204 to place the PAT in the parallel test mode.

FIG. 14 illustrates a device 1402 with a PAT 1204 coupled to a serialtester 1404 via SCI, SEL, CK, SC, SE, and SCO signals. PAT 1204 is setto the serial test mode by the SEL signal. If PAT 1204 is PAT 602 ofFIG. 6, the SCI input is used to serially input compressed input data toISR 606 and the SCO is used to serially output compressed output datafrom OSR 608. If PAT 1204 is PAT 902 of FIG. 9, the SCI input is used toserially input compressed input data to IOSR 904 and the SCO is used toserially output compressed output data from IOSR 904.

FIG. 15 illustrates the scan cycle timing operation of PAT 1204 in theserial test mode. As seen in FIG. 15, the PAT capture and reset (CR)operation occurs at timing point 1502 where an SC clock occurs while theSE input is low. The PAT SCI input and SCO output shift operations occurat timing point 1504 where CK clocks occur while the SE input is low. Atthe end of the SCI and SCO shift operation 1504, the compressed inputdata shifted into the ISR 606 or IOSR 904 is shifted into the PCI inputof the PAT's TCA 102, and the PCO output from the PAT's TCA 102 isloaded into the OSR 608 or IOSR 904. This TCA PCI input and PCO outputoperation occurs at timing point 1506 where the SE input is high and anSC clock occurs. From timing point 1506 the tester 1404 repeats, attiming point 1508, the serial SCI input and SCO output shift operation1504 to input additional PCI input to the TCA 102 from the ISR 606 orIOSR 904 and output additional PCO output from the TCA 102 from the OSR608 or IOSR 904. Timing points 1506 and 1504 repeat until all TCA PCIinput and PCO output data of the shift operation of the TCA scan cyclehas been completed. When the shift operation of the TCA scan cyclecompletes, the tester 1404 transitions, at timing point 1510, the PATfrom timing point 1506 to timing point 1502 to perform the capture andreset (CR) operation at the beginning of the next TCA scan cycle. Theabove described scan cycle, comprising the PAT capture and reset (CR)timing operation 1502, the SCI input SCO output timing operation 1504,and the PCI input and PCO output timing operation 1506, repeats untilall test patterns have been applied to the TCA 102 of PAT 1204.

FIG. 16 illustrates an example of a device 1602 with a PAT 1204 beingconnected to an external JTAG controller 1606 via the device's testaccess port (TAP) 1604. The TAP 1604 is a well known device testinterface defined in IEEE standard 1149.1. The interface between theJTAG controller 1606 and TAP 1604 includes test data input (TDI), testclock (TCK), test mode select (TMS), and test data output (TDO) signals.The TAP 1604 is adapted to interface with the PAT's SCI, SEL, SC, SE, CKand SCO signals. This example allows device manufacturer test patternsto be applied to the device PAT from a JTAG controller.

FIG. 17 illustrates the TAP 1604 in more detail and its interface to PAT1204. The TAP 1604 includes a TAP controller 1702, instruction register(IR) 1704, single bit bypass register (BR) 1706, boundary scan register(BSR) 1708, multiplexer 1710, multiplexer 1712, and decode circuit 1714,all connected as shown. The TAP controller 1702 responds to TCK and TMSto shift data through the IR 1704, the BR 1706, or the BSR 1708 from TDIto TDO according to the TAP controller state diagram of FIG. 18. Duringshift operations, multiplexers 1710 and 1712 couple the selectedregister's output to TDO. As seen, the PAT is interfaced to the TAP andoperates as an additional data register that can be selected andaccessed via TDI and TDO. The instruction shifted into the IR 1704 isinput 1705 to the decode circuit 1714 which controls which data register(BR, BSR, or PAT) is selected for access. The decode circuit alsoreceives the TCK and signals 1703 from the TAP controller 1702 togenerate output control signals 1716 required to access a selected dataregister (BR, BSR, or PAT). As seen, when the PAT is selected thedecoder circuit 714 provides the SEL, CK, SC and SE control signals tothe PAT via bus 1716.

FIG. 19 illustrates one example, according to the disclosure, of how thePAT SC signal can be produced by adding circuitry and a PAT testinstruction to TAP 1604. The TAP controller 1702 of TAP 1604 comprises aTAP state machine (TSM) 1906 and a state register (R) 1908. As seen inFIG. 18, the TAP controller's TSM has 16 states which are decoded byfour state signals. When the TSM is transitioned into one of the 16states, the four states signals are clocked into the state register (R)1908 on the falling edge of TCK, via inverter 1910. The state signalsfrom state register (R) 1908 are output to the decode logic (DL) 1902 ofdecode circuit 1714 on bus 1703. The decode circuit 1714 also inputs theTCK and a PAT test instruction signal from IR 1704. The decode logic1902 outputs a signal to an input of And gate 1904 in decode logic 1714.The And gate 1904 inputs the PAT test instruction signal from IR 1704and the TCK signal. When the TSM 1906 is in the Capture-DR or Pause-DRstate the decode logic 1902 detects these states and sets its output toenable And gate 1904. If the PAT test instruction signal from IR 1704 isalso set to enable And gate 1904, And gate 1904 will be enabled to passthe TCK signal to the SC output of And gate 1904. Thus TAP 1604 producesan SC clock output to PAT 1204 whenever the TSM 1906 is in theCapture-DR or Pause-DR state, the PAT test instruction signal from IR1704 is set, and a TCK occurs.

FIG. 20 illustrates one example, according to the disclosure, of how thePAT CK signal can be produced by adding circuitry and a PAT testinstruction to TAP 1604. When the TSM 1906 of TAP controller 1702transitions into the Shift-DR state the state signals from stateregister (R) 1908 are output to the decode logic (DL) 2002 of decodecircuit 1714 on bus 1703. The decode circuit 1714 also inputs the TCKand the PAT test instruction signal from IR 1704. The decode logic 2002outputs a signal to an input of And gate 2004 in decode logic 1714. TheAnd gate 2004 also inputs the PAT test instruction signal from IR 1704and the TCK signal. When the TSM 1906 is in the Shift-DR state thedecode logic 2002 detects this state and sets its output to enable Andgate 2004. If the PAT test instruction signal from IR 1704 is also setto enable And gate 2004, the And gate will be enabled to pass the TCKsignal to the CK output of And gate 2004. Thus TAP 1604 produces a CKclock output to PAT 1204 whenever the TSM 1906 is in the Shift-DR state,the PAT test instruction signal from IR 1704 is set, and a TCK occurs.

FIG. 21 illustrates one example, according to the disclosure, of how thePAT SE signal can be produced by adding circuitry and a PAT testinstruction to TAP 1604. When the TSM 1906 of TAP controller 1702transitions into the Pause-DR state the state signals from stateregister (R) 1908 are output to the decode logic (DL) 2102 of decodecircuit 1714 on bus 1703. The decode circuit 1714 also inputs the PATtest instruction signal from IR 1704. The decode logic 2102 outputs asignal to an input of And gate 2104 in decode logic 1714. The And gate2104 also inputs the PAT test instruction signal from IR 1704. When theTSM 1906 is in the Pause-DR state the decode logic 2102 detects thisstate and sets its output to enable And gate 2104. If the PAT testinstruction signal from IR 1704 is also set to enable And gate 2004, theSE output of And gate 2104 will be set high. Thus TAP 1604 produces ahigh output of SE whenever the TSM 1906 is in the Pause-DR state and thePAT test instruction signal from IR 1704 is set.

As shown in dotted line in FIG. 19, the PAT test instruction signal fromIR 1704 that enables And gates 1904, 2004, and 2104 can also be used toset the PAT SEL signal to a state that places the PAT 1204 in the serialtest mode described in regard to PAT 602 of FIGS. 6 and 7 and PAT 902 ofFIGS. 9 and 10. If the PAT 1204 is always to be tested in the serialtest mode via the JTAG TAP 1604, the SEL signal can be hardwired to astate that selects the PAT serial test mode, instead of using the PATtest instruction signal to set the SEL signal. One reason for allowingthe PAT test instruction signal to set the SEL signal to the serial testmode, instead of hardwiring the SEL signal to the serial test mode, isthat it enables a different PAT test instruction to be loaded into IR1704 for setting the SEL signal to the parallel test mode. For example,during device production testing it may be desirable, for device testtime reduction reasons, to test the PAT in the parallel test mode asdescribed in regard to FIGS. 12 and 13. If used for production testingthe different PAT test instruction can set the PAT to its parallel testmode and couple the PAT's PCI, SC, SE, and PCO signals to a productiontester, via device terminals, to enable the PAT to be tested using thetest timing diagrams shown in FIG. 13.

FIG. 22 illustrates the TAP controller state transitions of FIG. 18 thatenable a PAT 1204 that has been placed in the serial test mode to betested by a JTAG controller 1606 via the device TAP 1604 of FIG. 16 thathas been modified with the additional circuitry and PAT test instructiondescribed in regard to FIGS. 19-21. Prior to executing these TAP statetransitions, the PAT test instruction described in FIGS. 19-21 is loadedinto the TAP IR 1704. As seen the PAT test begins by transitioning theTAP controller into the Capture-DR state via the Select-DR state. In theCapture-DR state the capture and reset (CR) operation of the first scancycle is performed. The TAP controller is then transitioned into theShift-DR state to shift in SCI data from TDI and shift out SCO data onTDO. Next the TAP controller is transitioned into the Pause-DR state viathe Exit1-DR state to input PCI data to the TCA from the ISR 606 or IOSR904 and load PCO output data from the TCA into the OSR 608 or IOSR 904.The TAP controller repeatedly transitions 2202 from the Pause-DR stateto the Shift-DR state, via the Exit2-DR state, until the PAT's TCA hasbeen filled with PCI input data and emptied of PCO output data. When thefilling and emptying of the PAT's TCA is complete, which is the shiftoperation of the first PAT scan cycle, the TAP controller transitions2204 from the Pause-DR state to the Capture-DR state, via the Exit2-DR,Update-DR and Select-DR states, to perform the capture and reset (CR)operation of the next scan cycle. This process of performing the captureand reset (CR) operation of a scan cycle in the Capture-DR state and theshift operation of the scan cycle by repeatedly transitioning betweenthe Pause-DR and Shift-DR states continues until all scan cycle testpatterns have been applied to the PAT's TCA.

FIG. 23 is provided to illustrate how the TAP 1604, modified asdescribed in FIGS. 19-21, controls the SC, CK and SE signal inputs tothe PAT 1204 during the TAP controller state transitions shown in FIG.22. The SC signal is produced by the method described in regard to thecircuit example of FIG. 19. The CK signal is produced by the methoddescribed in regard to the circuit example of FIG. 20. The SE signal isproduced by the method described in regard to the circuit example ofFIG. 21. The SC, CK and SE signals may also be produced by other circuitmethods as well.

The TAP 1604 control of a device PAT 1204, as described in TAPcontroller 1702 state transitions of FIGS. 22 and 23, works well whenthe JTAG controller 1606 can be connected directly to the device TAP asshown in FIG. 16. However when the device with the PAT 1204 exists in aJTAG daisy-chain arrangement with other devices, the TAP controllerstate transitions of FIGS. 22 and 23 can be improved upon as will bedescribed below in regard to FIGS. 24-40.

PAT Testing in JTAG Daisy-Chain Arrangements

FIG. 24 illustrates N devices 2402-2406 in a serial daisy-chainarrangement 2408 that is connected to a JTAG controller 1606. Eachdevice includes a TAP 1604 including TDI, TCK, TMS and TDO interfacesignals. As seen the first device 2402 is connected to the TDI outputfrom the JTAG controller and the last device 2406 is connected to theTDO input to the JTAG controller. Intermediate devices 2404 areconnected in series with the first and last devices via TDI and TDO. Alldevices are connected to the TMS and TCK outputs from the JTAGcontroller. This configuration between the JTAG controller and series ofdaisy-chained devices is well known in the industry.

The arrangement 2408 of devices 2402-2406 could be; (1) an arrangementof embedded core circuits within an IC, (2) an arrangement of ICs in anIC manufacturing test environment, (3) an arrangement of ICs in acustomer's system such as a computer or cell phone, or (4) any otherarrangement where the devices 2402-2406 need to be connected in seriesand accessed by a JTAG controller for test, emulation, debug, and/orother operations.

FIG. 25 illustrates an example JTAG data register scan cycle wherebydata registers in all devices 2402-2406 in arrangement 2408 capture (C)data at time 2502 then shift data from the JTAG controller's TDI outputto the JTAG controller's TDO input at time 2504. The scan cycle can berepeated 2506 as required by transitioning the device TAPs through TAPstates Exit1-DR, Update-DR, and Select-DR to re-enter the Capture-DRstate.

FIG. 26 illustrates arrangement 2408 with the IR 1704 of the firstdevice 2402 loaded with the previously described PAT test instruction,and the IRs 1704 of trailing devices 2404-2406 loaded with the standardJTAG Bypass instruction. As previously described the PAT testinstruction enables the added TAP circuitry described in FIGS. 19-21,places the PAT 1204 of device 2402 in the serial test mode, and selectsthe PAT between the TDI and TDO terminals of device 2402. The Bypassinstruction in trailing devices 2404-2406 selects the single bit bypassregister (BR) 1706 between the device's TDI and TDO terminals.

FIG. 27 illustrates the TAP controller state transitions of FIG. 18 thatenable PAT 1204 of device 2402 to be tested in the daisy-chainarrangement 2408 by a JTAG controller 1606. As seen the PAT test scancycle begins by transitioning the device 2402-2406 TAP controllers intothe Capture-DR state via the Select-DR state. In the Capture-DR statethe TAP controller of device 2402 performs a capture and reset (CR)operation to start the first PAT scan cycle. The TAP controllers of theother devices 2404-2406 perform a capture operation to load their BRswith a logic zero, as defined in IEEE 1149.1. The TAP controllers arethen transitioned into the Shift-DR state to shift in data from TDI andshift out data on TDO. As seen, during the Shift-DR state SCI data isinput to device 2402 from the TDI output of the JTAG controller, SCOdata is output from device 2402 to the BRs of trailing devices 2404-2406to be output to the TDO input of the JTAG controller. Next the TAPcontrollers are transitioned into the Pause-DR state via the Exit1-DRstate. During the Pause-DR state the TAP of device 2402 shifts PCI datato the TCA of PAT 1204 from the ISR 606 or IOSR 904 and loads PCO datafrom the TCA of PAT 1204 into the OSR 608 or IOSR 904. The TAPcontrollers of devices 2404-2406 halt shifting their BRs during thePause-DR state. The TAP controllers are repeatedly transitioned attiming point 2702 from the Pause-DR state to the Shift-DR state, via theExit2-DR state, until the device 2402 PAT's TCA has been filled with PCIinput data and emptied of PCO output data. When the filling and emptyingof the PAT's TCA is complete, which is the shift operation of the firstPAT scan cycle, the TAP controllers are transitioned at timing point2704 from the Pause-DR state to the Capture-DR state, via the Exit2-DR,Update-DR and Select-DR states, to perform the capture and reset (CR)operation of the next PAT scan cycle. This process of performing thecapture and reset (CR) operation of a PAT scan cycle in the Capture-DRstate and the shift operation of the PAT scan cycle by repeatedlytransitioning between the Pause-DR and Shift-DR states continues untilall scan cycle test patterns have been applied to the PAT's TCA.

As can be seen from the PAT scan cycle timing of FIG. 27, each PAT scancycle must include an additional number of shift operations to allow theSCO data in the trailing device BRs to be output to the TDO input of theJTAG controller. For example, if 20 trailing device 2404-2406 BRsexisted in arrangement 2408, each scan cycle would need to include anadditional 20 shift operations to empty the SCO data from the 20 BRs.Lengthening each scan cycle by 20 shift operations increases the time ittakes to apply the device 2402 PAT test patterns and thus introduces atest time problem.

Another problem is that the PAT test patterns must be modified for thenumber of trailing devices 2404-2406 in a given arrangement 2408. Forexample, there will be a uniquely modified PAT test pattern set for eacharrangement that has a different number of trailing device BRs. Thismeans that the manufacturer/provider of device 2402 will need to provideto customers who use device 2402 a customized test pattern set fortesting the PAT of device 2402 in each customer arrangement 2408 thedevice 2402 is used in.

FIG. 28 illustrates arrangement 2408 with the IR 1704 of an intermediatedevice 2404 loaded with the previously described PAT test instruction,and the IRs 1704 of leading 2402 and trailing 2406 devices loaded withthe standard JTAG Bypass instruction. As previously described the PATtest instruction enables the added TAP circuitry described in FIGS.19-21, places the PAT 1204 of device 2404 in the serial test mode, andselects the PAT between the TDI and TDO terminals of device 2404. TheBypass instruction in leading 2402 and trailing 2406 devices select thesingle bit bypass register (BR) 1706 between the device's TDI and TDOterminals.

FIG. 29 illustrates the TAP controller state transitions of FIG. 18 thatenable PAT 1204 of device 2404 to be tested in the daisy-chainarrangement 2408 by a JTAG controller 1606. As seen the PAT test scancycle begins by transitioning the device 2402-2406 TAP controllers intothe Capture-DR state via the Select-DR state. In the Capture-DR statethe TAP controller of device 2404 performs a capture and reset (CR)operation to start the first PAT scan cycle. The TAP controllers of theleading and trailing devices perform a capture operation to load theirBRs with a logic zero, as defined in IEEE 1149.1. The TAP controllersare then transitioned into the Shift-DR state to shift in data from TDIand shift out data on TDO. As seen, during the Shift-DR state SCI datais input to the BRs of leading devices 2402 from the TDI output of theJTAG controller, device 2404 inputs the SCI data from the leadingdevices to PAT 1204 and outputs SCO data from PAT 1204 to the BRs oftrailing devices 2406 to be output to the TDO input of the JTAGcontroller. Next the TAP controllers are transitioned into the Pause-DRstate via the Exit1-DR state. During the Pause-DR state the TAP ofdevice 2404 shifts PCI data to the TCA of PAT 1204 from the ISR 606 orIOSR 904 and loads PCO data from the TCA of PAT 1204 into the OSR 608 orIOSR 904. The TAP controllers of leading 2402 and trailing 2406 deviceshalt shifting their BRs during the Pause-DR state. The TAP controllersare repeatedly transitioned at timing point 2902 from the Pause-DR stateto the Shift-DR state, via the Exit2-DR state, until the device 2404PAT's TCA has been filled with PCI input data and emptied of PCO outputdata. When the filling and emptying of the PAT's TCA is complete, whichis the shift operation of the first PAT scan cycle, the TAP controllersare transitioned at timing point 2904 from the Pause-DR state to theCapture-DR state, via the Exit2-DR, Update-DR and Select-DR states, toperform the capture and reset (CR) operation of the next PAT scan cycle.This process of performing the capture and reset (CR) operation of a PATscan cycle in the Capture-DR state and the shift operation of the PATscan cycle by repeatedly transitioning between the Pause-DR and Shift-DRstates continues until all scan cycle test patterns have been applied tothe PAT's TCA.

As can be seen from the PAT scan cycle timing of FIG. 29, each PAT scancycle must include an additional number of shift operations to allow theSCI data from the TDI output of the JTAG controller to pass through theBRs of leading devices 2402 to be input to device 2404 and to allow theSCO data from device 2404 to pass through the BRs of trailing devices2406 to be output to the TDO input of the JTAG controller. For example,if 20 leading devices and 20 trailing devices existed in arrangement2408, each scan cycle would need to include an additional 40 shiftoperations to fill the leading devices with SCI data and empty thetrailing devices of SCO data. Lengthening each scan cycle by 40 shiftoperations increases the time it takes to apply the device 2404 PAT testpatterns and thus introduces a test time problem.

Another problem is that the PAT test patterns must be modified for thenumber of leading 2402 and trailing 2406 devices in a given arrangement2408. For example, there will be a uniquely modified PAT test patternset for each arrangement that has a different number of leading andtrailing device BRs. This means that the manufacturer/provider of device2404 will need to provide to customers who use device 2404 a customizedtest pattern set for testing the PAT of device 2404 in each customerarrangement 2408 the device 2404 is used in.

FIG. 30 illustrates arrangement 2408 with the IR 1704 of the last device2406 loaded with the previously described PAT test instruction, and theIRs 1704 of leading devices 2402-2404 loaded with the standard JTAGBypass instruction. As previously described the PAT test instructionenables the added TAP circuitry described in FIGS. 19-21, places the PAT1204 of device 2406 in the serial test mode, and selects the PAT betweenthe TDI and TDO terminals of device 2406. The Bypass instruction inleading devices 2402-2404 selects the single bit bypass register (BR)1706 between the device's TDI and TDO terminals.

FIG. 31 illustrates the TAP controller state transitions of FIG. 18 thatenable PAT 1204 of device 2406 to be tested in the daisy-chainarrangement 2408 by a JTAG controller 1606. As seen the PAT test scancycle begins by transitioning the device 2402-2406 TAP controllers intothe Capture-DR state via the Select-DR state. In the Capture-DR statethe TAP controller of device 2406 performs a capture and reset (CR)operation to start the first PAT scan cycle. The TAP controllers of theother devices 2402-2404 perform a capture operation to load their BRswith a logic zero, as defined in IEEE 1149.1. The TAP controllers arethen transitioned into the Shift-DR state to shift in data from TDI andshift out data on TDO. As seen, during the Shift-DR state SCI data isinput to the BRs of leading devices 2402-2404 from the TDI output of theJTAG controller, and device 2406 inputs the SCI data from the leadingdevices to PAT 1204 and outputs SCO data from PAT 1204 to the TDO inputof the JTAG controller. Next the TAP controllers are transitioned intothe Pause-DR state via the Exit1-DR state. During the Pause-DR state theTAP of device 2406 shifts PCI data to the TCA of PAT 1204 from the ISR606 or IOSR 904 and loads PCO data from the TCA of PAT 1204 into the OSR608 or IOSR 904. The TAP controllers of leading device 2402-2402 haltshifting their BRs during the Pause-DR state. The TAP controllers arerepeatedly transitioned at timing point 3102 from the Pause-DR state tothe Shift-DR state, via the Exit2-DR state, until the device 2406 PAT'sTCA has been filled with PCI input data and emptied of PCO output data.When the filling and emptying of the PAT's TCA is complete, which is theshift operation of the first PAT scan cycle, the TAP controllers aretransitioned at timing point 3104 from the Pause-DR state to theCapture-DR state, via the Exit2-DR, Update-DR and Select-DR states, toperform the capture and reset (CR) operation of the next PAT scan cycle.This process of performing the capture and reset (CR) operation of a PATscan cycle in the Capture-DR state and the shift operation of the PATscan cycle by repeatedly transitioning between the Pause-DR and Shift-DRstates continues until all scan cycle test patterns have been applied tothe PAT's TCA.

As can be seen from the PAT scan cycle timing of FIG. 31, each PAT scancycle must include an additional number of shift operations to allow theSCI data from the JTAG controller to be shifted through the leadingdevice BRs to be input to the SCI input of the device 2406 PAT. Forexample, if 20 leading devices 2402-2404 existed in arrangement 2408,each scan cycle would need to include an additional 20 shift operationsto fill the SCI data into the 20 device BRs. Lengthening each scan cycleby 20 shift operations increases the time it takes to apply the device2402 PAT test patterns and thus introduces a test time problem.

Another problem is that the PAT test patterns must be modified for thenumber of leading devices 2402-2404 in a given arrangement 2408. Forexample, there will be a uniquely modified PAT test pattern set for eacharrangement that has a different number of leading device BRs. Thismeans that the manufacturer/provider of device 2406 will need to provideto customers who use device 2406 a customized test pattern set fortesting the PAT of device 2406 in each customer arrangement 2408 thedevice 2406 is used in.

In addition to the above described need to modify the devicemanufacturer's PAT test patterns to include additional shift operationsfor leading and/or trailing BRs, the arrangements 2408 of FIGS. 28 and30 introduce an additional PAT test problem, as described below.

A manufacturer that produces and tests a device containing a PAT 1204that is testable via a JTAG controller, according to this disclosure,will typically produce device test patterns that test the PAT of thedevice using the direct device to JTAG controller arrangement of FIG.16, whereby the device is directly connected to the JTAG controller viathe TDI, TCK, TMS, and TDO signals. In this arrangement the device PAT1204 expects to immediately receive the SCI data at the beginning ofeach PAT 1204 scan cycle shift operation, which comprises the Shift-DRstate of FIGS. 22 and 23 to serialize the SCI data into the ISR/IOSRfollowed by the Pause-DR state of FIGS. 22 and 23 to input the PCI datafrom the ISR/IOSR to the PAT's TCA. However, as can be seen in thedaisy-chain arrangements of FIGS. 28 and 30, the PATs of devices 2404and 2406 input bypass bits (BB) from one or more leading device bypassregisters (BR) at the start of each PAT 1204 scan cycle shift operation,instead of the SCI data from the direct JTAG controller interface ofFIG. 16.

As previously mentioned, and in accordance with IEEE Standard 1149.1,the bypass register (BR) of a device containing the standard BypassInstruction is loaded with a logic zero during the Capture-DR state ofthe TAP state diagram of FIG. 18. According to this disclosure, andduring the Shift-DR state of say FIG. 29 the device 2404 PAT will inputat least one logic zero BB prior to inputting the SCI data. Thus thePAT's TCA decompressor 104, instead of immediately receiving the SCIdata from the JTAG controller 1606 as shown in the direct connection ofFIG. 16, receives a stream of one or more logic zero bypass bits (BB)from one or more leading devices prior to receiving the actualmanufacturer PAT test pattern set.

Since the decompressor 104 is clocked by SC during PCI input and PCIoutput operations of FIGS. 29 and 31 it responds to the logic low BBs tostart producing pattern outputs to the SI inputs of the parallel scanpaths, as described previously in regard to FIG. 2. The input of thelogic zero BBs, prior to input of the CI data, will cause thedecompressor 104 to advance from its reset state (starting seed state)to some other state determined by the number of BBs the decompressorreceives. When the decompressor finally starts receiving CI data fromthe JTAG controller, it will be in a state that is different from itsintended starting seed state. Since the decompressor will not be in theexpected starting seed state, the device manufacturer's PAT testpatterns will not be able to control the decompressor via the CI inputto produce the intended stimulus outputs to the parallel scan paths,which invalidates the PAT test.

While it is possible to create a different PAT test pattern set thatanticipates the decompressor starting in a state different from itsintended starting state, there would need to be a different PAT testpattern set for each arrangement 2408 the device is placed in. Forexample one user of a manufactured device (customer 1) may place thedevice in an arrangement 2408 with 10 leading devices, while anotheruser of the same manufactured device (customer 2) may place the devicein an arrangement 2408 with 20 leading devices. To support device PATtesting for both customers, the device manufacturer would have toprovide a first device PAT test pattern set for the arrangement 2408used by customer 1 and a second device PAT test pattern set forarrangement used by customer 2. Additional PAT test patterns would berequired for each different arrangement used by other customers.

As can be seen, the modified manufacturer's PAT test patterns describedabove extends the time it takes to test a device's PAT since the shiftphase of each scan cycle is increased by the number of BRs in thearrangement 2408. Also having to provide multiple modified PAT testpattern sets to customers is problematic.

The present disclosure, as described in additional embodiments of FIGS.32-40 below, provides a method of modifying the operation of a deviceTAP 1604 to enable the device's PAT to be tested, in either themanufacturing test arrangement of FIG. 16 or the daisy-chain JTAG testarrangement 2408 of FIG. 24, using the same PAT test pattern set.Additionally, the method enables the device PAT test times of themanufacturing test (FIG. 16) and daisy-chain test (FIG. 24) to be almostthe same. This method provides a solution to the above mentioned need ofhaving to modify and provide multiple PAT test pattern sets.

Improved PAT Testing in a Daisy-Chain Arrangement

FIG. 32 illustrates the TAP controller state transitions of FIG. 18 thatenable a PAT 1204 that has been placed in the serial test mode to betested by a JTAG controller 1606 via a modified device TAP 1604 of FIG.16. As seen the PAT test begins by transitioning the modified TAPcontroller 1604 into the Capture-DR state 3202 via the Select-DR state.In the Capture-DR state the previously described capture and reset (CR)operation is performed. The TAP controller is then transitioned into theShift-DR state 3204 to shift in SCI data from TDI and shift out SCO dataon TDO. Next the TAP controller is transitioned into a first Pause-DRstate 3206 via the Exit1-DR state to perform the previously describedTCA PCI input and PCO output operation. This initial PAT scan cyclecomprising the CR operation in the Capture-DR state 3202, the SCI inputand SCO output shift operation in the Shift-DR state 3204, and PCI inputand PCO output operation in the first Pause-DR state 3206, is performedonce at the beginning of the PAT test. Next the TAP controller istransitioned (looped) into a second Pause-DR state 3208. During thesecond Pause-DR state 3208, the modified TAP 1604 outputs control tocause a capture and reset (CR) operation to occur. The CR operation thatoccurs during the second Pause-DR state 3208 is the CR operation of thefirst PAT scan cycle. The modified TAP controller 1604 then transitionsfrom the second Pause-DR state to the Shift-DR state 3204 via theExit2-DR state to shift in SCI data from TDI and shift out SCO data onTDO. Next the TAP controller is transitions to first Pause-DR state 3206via the Exit1-DR state to input PCI data to the TCA from the ISR 606 orIOSR 904 and load PCO output data from the TCA into the OSR 608 or IOSR904. The TAP controller repeatedly transitions from the first Pause-DRstate 3206 to the Shift-DR state 3204, via the Exit2-DR state, until thePAT's TCA has been filled with PCI input data and emptied of PCO outputdata. Entry into the second Pause-DR state 3208 is avoided during thisrepeated transitioning between the first Pause-DR state 3206 andShift-DR state 3204. When the filling and emptying of the PAT's TCA iscomplete, which is the shift operation of the first PAT scan cycle, theTAP controller transitions (loops) from the first Pause-DR state 3206 tothe second Pause-DR state 3208 to perform the capture and reset (CR)operation of the next scan cycle. This process of performing the captureand reset (CR) operation of a PAT scan cycle during the second Pause-DRstate 3208 and performing the shift operation of a PAT scan cycle byrepeatedly transitioning between the first Pause-DR state 3206 and theShift-DR state 3204 continues until all scan cycle test patterns havebeen applied to the PAT's TCA.

FIG. 33 is provided to illustrate how the modified TAP 1604, controlsthe SC, CK and SE signal inputs to the PAT 1204 of FIG. 16 during theTAP controller state transitions shown in FIG. 22. As describedpreviously in regard to FIG. 23, the SC signal is produced by the methoddescribed in regard to the circuit example of FIG. 19. As describedpreviously in regard to FIG. 23 the CK signal is produced by the methoddescribed in regard to the circuit example of FIG. 20. The SE signal isproduced by an alternate SE control circuit added to the TAP 1604 insubstitution for the SE control circuit described previously in regardto FIG. 21. This alternate SE control circuit, as described in FIG. 34below, enables the second Pause-DR state 3208 to be used to control theSE signal to perform the PAT scan cycle capture and reset (CR) operationdescribed in regard to FIG. 23.

FIG. 34 illustrates the alternate SE control circuit for controlling theSE output from TAP 1604 to PAT 1204 of FIG. 16. As seen, the alternateSE control circuit is similar to the SE control circuit of FIG. 21 inthat it has decode logic 2102 for detecting when the TAP controller 1702is in the Pause-DR state, a PAT test instruction input signal from IR1704, and the TCK signal. The alternate SE control circuit differs fromthe SE control circuit of FIG. 21 in that it includes a three input Andgate 3402 and a FF 3404. And gate 3402 inputs the output of the decodelogic 2102, the PAT test instruction signal, and the inverted dataoutput of FF 3404. FF 3404 inputs the SE output from And gate 3402 onits data input and the TCK signal on its clock input. The inverted dataoutput of FF 3404 is input to And gate 3402.

If the PAT test instruction signal is not set or the TAP controller isnot in the Pause-DR state, the inverted output of FF 3404 will be sethigh by the low SE output form And gate 3402. When the PAT testinstruction signal is set and the TAP controller 1702 enters thePause-DR state 3206 a first time, the alternate SE control circuit setsthe SE output high, as did the SE control circuit of FIG. 21. As seen inFIG. 33, when SE is high and an SC clock occurs the PAT's PCI input andPCO output operation occurs.

If the TAP controller 1702 transitions out of Pause-DR state 3206 to theShift-DR state 3204 via the Exit2-DR state, the SE signal will go lowand clock outputs on SC will be disabled. However if the TAP controllerremains in the Pause-DR state a second time, i.e. enters the secondPause-DR state 3208 of FIG. 33, the SE output from And gate 3402 will golow and another SC clock will occur. As seen in FIG. 33, when SE is lowand a clock occurs on SC the capture and reset (CR) operation of the PATscan cycle occurs. The SE output of And gate 3402 will go low during thesecond Pause-DR state 3208 since the inverted output of FF 3404 will golow as the logic high SE signal from the first Pause-DR state 3206 isclocked into FF 3404 by TCK. Thus by feeding back the SE output of Andgate 3402 to an input of And gate 3402, via FF 3404, the second Pause-DRstate 3208 can be used to perform the capture and reset (CR) operationof PAT scan cycles.

As will be described below in regard to FIGS. 35-40, using the secondPause-DR state 3208 of FIGS. 32 and 33 to provide the CR operation of ascan cycle instead of using the Capture-DR state to provide the CRoperation of the scan cycle is very beneficial when the PAT is beingtested in a daisy-chain arrangement 2408.

FIG. 35 illustrates a daisy-chain arrangement 2408 where PAT 1204 of thefirst device 2402 is selected for testing between the device's TDI andTDO terminals and BRs 1706 of trailing devices 2404-2406 are selectedbetween the device's TDI and TDO terminals. The only difference betweenthe arrangements 2408 of FIG. 35 and FIG. 26 is that the TAP 1604 ofdevice 2402 of FIG. 35 includes the alternate SE control circuit of FIG.34 which enables it to operate, in the second Pause-DR state 3208, toprovide the CR operation of the PAT scan cycle timing described earlierin regard to FIGS. 32 and 33.

FIG. 36 illustrates the modified TAP 1604 state transitions to test thedevice 2402 PAT 1204 in the arrangement of FIG. 35. As seen the TAPstate transitions 3202-3208 are identical to those described in FIGS. 32and 33. The process of performing the capture and reset (CR) operationof the PAT scan cycle during the second Pause-DR state 3208 andperforming the shift operation of the PAT scan cycle by repeatedlytransitioning between the first Pause-DR state 3206 and the Shift-DRstate 3204 continues until all scan cycle test patterns have beenapplied to the PAT's TCA. The only difference between the TAP statetransitions of FIG. 36 and FIG. 32 is that the TAP state transitions ofFIG. 36 perform a last shift operation during Shift-DR state 3602 toshift out the SCO data from the trailing devices 2404-2406 BRs to theTDO input of the JTAG controller 1606.

It is important to note that since the second Pause-DR state 3208 isused to perform the PAT scan cycle CR operation instead of using theCapture-DR as described in FIG. 27, the BRs of the trailing devices2404-2406 can be used as pipeline bits between the TDO output of device2402 and the TDO input of the JTAG controller 1606. As mentioned inregard to FIG. 27, the BRs of trailing devices 2404-2406 cannot be usedas pipeline bits since they are loaded with logic zeros during theCapture-DR state.

Advantageously since the BRs of the trailing devices of FIG. 36 can beused as pipeline bits, the PAT scan cycles of FIG. 36 do not include anyadditional shift cycles, which eliminates the increased PAT test time ofthe approach described in FIGS. 26 and 27. Also, a single PAT testpattern set can be used to test a PAT 1204 in a leading device in adaisy-chain arrangement regardless of the number of trailing devices inthe arrangement, which eliminates the need for multiple PAT test patternsets mentioned in regard to FIG. 27.

FIG. 37 illustrates a daisy-chain arrangement 2408 where PAT 1204 of anintermediate device 2404 is selected for testing between the device'sTDI and TDO terminals and BRs 1706 of leading 2402 and trailing 2406devices are selected between the device's TDI and TDO terminals. Theonly difference between the arrangements 2408 of FIG. 37 and FIG. 28 isthat the TAP 1604 of device 2404 of FIG. 37 includes the alternate SEcontrol circuit of FIG. 34 which enables it to operate, in the secondPause-DR state 3208, to provide the CR operation of the PAT scan cycletiming described earlier in regard to FIGS. 32 and 33.

FIG. 38 illustrates the modified TAP 1604 state transitions to test thedevice 2404 PAT 1204 in the arrangement of FIG. 37. As seen the TAPstate transitions 3204-3208 and 3602 are identical to those described inFIGS. 35 and 36. The only difference between the TAP state transitionsof FIG. 38 and FIG. 36 is that the TAP state transitions of FIG. 38perform a first shift operation, after the Capture-DR state 3202, inShift-DR state 3802. This first shift operation is used to fill the BRsof leading devices 2402 with SCI data from the TDI output of the JTAGcontroller 1606 prior to starting the PAT test. Following the firstshift operation the TAP transitions from Shift-DR state 3802 to thesecond Pause-DR state 3208 via the Exit1-DR and first Pause-DR state3206 to perform the CR operation of the first PAT scan cycle. Theprocess of performing the capture and reset (CR) operation of the PATscan cycle during the second Pause-DR state 3208 and performing theshift operation of the PAT scan cycle by repeatedly transitioningbetween the first Pause-DR state 3206 and the Shift-DR state 3204continues until all scan cycle test patterns have been applied to thePAT's TCA. As described in FIG. 36, a last shift operation is performedin Shift-DR state 3602 to shift out the SCO data from the BRs oftrailing devices 2406 to the TDO input of the JTAG controller 1606.

It is important to note that since the second Pause-DR state 3208 isused to perform the PAT scan cycle CR operation instead of using theCapture-DR state as described in FIG. 29, the BRs of the leading 2402and trailing 2406 devices can be used as pipeline bits between the TDIoutput of the JTAG controller and the TDI input of the device 2404 andbetween the TDO output of device 2404 and the TDO input of the JTAGcontroller 1606. As mentioned in regard to FIG. 29, the BRs of leadingand trailing devices 2404-2406 cannot be used as pipeline bits sincethey are loaded with logic zeros during the Capture-DR state.

Advantageously since the BRs of the leading and trailing devices of FIG.38 can be used as pipeline bits, the PAT scan cycles of FIG. 38 do notinclude any additional shift cycles, which eliminates the increased PATtest time of the approach described in FIGS. 28 and 29. Also, a singlePAT test pattern set can be used to test a PAT 1204 in an intermediatedevice in a daisy-chain arrangement regardless of the number of leadingand trailing devices in the arrangement, which eliminates the need formultiple PAT test pattern sets mentioned in regard to FIG. 29.

Further since the PAT scan cycles of FIG. 38 begin by performing the CRoperation in the second Pause-DR state 3208, the PATs decompressor 104is initialized correctly at beginning of the PAT test as it would be forthe manufacturing test arrangement of FIG. 16. As mentioned in regard toFIG. 28-31 the PAT decompressor 104 advances when PCI data from ISR 606or IOSR 904 is input to the decompressor during the Pause-DR state.Since the PCI data will contain the logic zero bypass bits (BB) fromleading devices the advancement of the decompressor will be differentthan expected, which causes the decompressor to not be in the expectedstarting state. Since the first shift operation of FIG. 38 pre-fills theleading BRs with the starting SCI data, the device PAT will receive theexpected PCI data and start the decompressor in the expected startingstate.

FIG. 39 illustrates a daisy-chain arrangement 2408 where PAT 1204 of thelast device 2404 is selected for testing between the device's TDI andTDO terminals and BRs 1706 of leading devices 2402-2404 are selectedbetween the device's TDI and TDO terminals. The only difference betweenthe arrangements 2408 of FIG. 39 and FIG. 30 is that the TAP 1604 ofdevice 2406 of FIG. 39 includes the alternate SE control circuit of FIG.34 which enables it to operate, in the second Pause-DR state 3208, toprovide the CR operation of the PAT scan cycle timing described earlierin regard to FIGS. 32 and 33.

FIG. 40 illustrates the modified TAP 1604 state transitions to test thedevice 2406 PAT 1204 in the arrangement of FIG. 39. As seen the TAPstate transitions 3202, 3802, 3204-3208 and 3602 are identical to thosedescribed in FIG. 38. The only difference between the TAP statetransitions of FIG. 40 and FIG. 38 is that the TAP state transitions ofFIG. 40 do not need to perform the last shift operation of FIG. 38 sincethere are no trailing device BRs in the arrangement 2408 of FIG. 40.

It is important to note that since the second Pause-DR state 3208 isused to perform the PAT scan cycle CR operation instead of using theCapture-DR state as described in FIG. 31, the BRs of the leading devices2402-2404 can be used as pipeline bits between the TDI output of theJTAG controller 1606 and the TDI input of the device 2404. As mentionedin regard to FIG. 31, the BRs of leading devices 2402-2404 cannot beused as pipeline bits since they are loaded with logic zeros during theCapture-DR state.

Advantageously since the BRs of the leading devices of FIG. 40 can beused as pipeline bits, the PAT scan cycles of FIG. 40 do not include anyadditional shift cycles, which eliminates the increased PAT test time ofthe approach described in FIGS. 28 and 29. Also, a single PAT testpattern set can be used to test a PAT 1204 in a last device in adaisy-chain arrangement regardless of the number of leading devices inthe arrangement, which eliminates the need for multiple PAT test patternsets mentioned in regard to FIG. 29.

Further since the PAT scan cycles of FIG. 40 begin by performing the CRoperation in the second Pause-DR state 3208, the PATs decompressor 104is initialized correctly at beginning of the PAT test as it would be forthe manufacturing test arrangement of FIG. 16. As mentioned in regard toFIG. 28-31 the PAT decompressor 104 advances when PCI data from ISR 606or IOSR 904 is input to the decompressor during the Pause-DR state.Since the PCI data will contain the logic zero bypass bits (BB) fromleading devices the advancement of the decompressor will be differentthan expected, which causes the decompressor to not be in the expectedstarting state. Since the first shift operation of FIG. 40 pre-fills theleading BRs with the starting SCI data, the device PAT will receive theexpected PCI data and start the decompressor in the expected startingstate.

FIG. 41 illustrates another embodiment of the disclosure whereby adevice 4102 comprises a PAT 1204, a TAP 1604 and a PAT controller 4104.The PAT controller 4104, once enabled, operates to automatically controlthe PAT test operation. The device has a TDI input, a TCK, input, a TMSinput, and a TDO output. The TDI input and/or TDO output may beconnected directly to a JTAG controller as shown in FIG. 16 or toleading and trailing devices as shown in daisy-chain arrangements 2408The TCK and TMS inputs are connected to a JTAG controller 1604. As seenthe PAT controller inputs an enable (ENA) signal from the TAP, and theTCK signal. The PAT controller outputs SC, SE, and CK signals to PAT1204. The SEL input to the PAT may be either hardwired to the serialtest mode or it may receive a SEL output from the TAP's IR 1704, asshown in dotted line. When enabled by the ENA signal, the PAT controllerregulates the operation of the SC, SE, and CK signals to operate the PATin the serial test mode as previously described.

FIG. 42 illustrates how TAP 1604 is modified to include ENA signalproducing circuitry 4202. The ENA producing circuitry 4202 includesShift-DR state decode logic (DL) circuit 2002, Pause-DR state decodelogic circuit 2102, a FF 4204, OR gate 4206, and And gate 4210. Decodelogic circuits 2002 and 2102 input the state bus 1703 from TAPcontroller 1702. Decode logic circuit 2002 outputs an enable signal toAnd gate 4210 when the TAP controller 1702 is in the Shift-DR state.Decode logic circuit 2102 outputs an enable signal to the data input ofFF 4204 via Or gate 4206. FF 4204 outputs data to And gate 4210 and toOr gate 4206. FF 4204 has a clock input coupled to the signal viainverter 4208 and a reset input coupled to an instruction output signalfrom IR 1704. The instruction signal from IR 1704 is also input to Andgate 4210. And gate 4210 outputs the ENA signal to the PAT controller4104.

When a PAT Controller instruction is loaded into IR 1704, theinstruction signal is set high to enable And gate 4210 and remove thereset condition to FF 4204. With the instruction signal set high, Andgate 4210 will output a high on the ENA signal when the Shift-DR enablesignal from decode logic 2002 is high and the data output from FF 4204is high. As can be seen, the ENA signal from And gate 4210 will not beset high until the TAP controller 1702 has transitioned through thePause-DR state, which latches the output of FF 4204 high via OR gate4206, and enters the Shift-DR state. Waiting to set the ENA signal highuntil the TAP controller 1702 transitions through the Pause-DR state isbeneficial in daisy-chain arrangements 2408 since it allows delaying thestart of the PAT controller until SCI data has been shifted into the BRsof leading devices.

FIG. 43 illustrates an example implementation of PAT controller 4104which comprises a state machine 4302, And gates 4304 and 4306, a firstcounter 4308 (CNT1), a second counter 4310 (CNT2), and a third counter4312 (CNT3). The state machine 4302 inputs the ENA signal, the TCKsignal, a count complete 1 (CC1) signal from the first counter 4308, acount complete 2 (CC2) signal from the second counter 4310, and a countcomplete 3 (CC3) signal from the third counter 4312. The state machine4302 outputs an SC enable (SCEN) signal to And gate 4304, a CK enable(CKEN) signal to And gate 4306, the SE signal, control 1 (C1) signals tothe first counter 4308, control 2 (C2) signals to the second counter4310, and control 3 (C3) signals to the third counter 4312. The C1, C2,and C3 signals control the operation of the first, second, and thirdcounters. And gate 4304 inputs the TCK signal and outputs the SC signal.And gate 4306 inputs the TCK signal and outputs the CK signal.

FIG. 44 illustrate the operational states of the PAT controller. Whenthe ENA signal is low, the PAT controller will be in Idle state 4402.When the ENA signal goes high, the PAT controller transitions to theShift ISR and OSR state 4404 to shift SCI data into the ISR and SCO datafrom OSR in response a low on SE and clocks on CK. Upon entering state4404, the device's TAP will remain in the Shift-DR state until the PATtest is complete. The PAT controller 4104 remains in state 4404 untilthe SCI and SCO shift operation is complete which is indicated by CC1signal from the first counter. The first counter contains the shiftcount length of the ISR and OSR. When that count length is reached theCC1 signal is set which causes the PAT controller to transition to theInput PCI and Output PCO state 4406. In state 4406, the PAT controllersets the SE signal high and outputs a clock on SC which inputs the PCIdata from the ISR to the TCA and outputs PCO data from the TCA to theOSR. If the TCA PCI input and PCO output operation is not complete theCC2 signal from the second counter will not be set and the PATcontroller 4104 will transition from state 4406 to state 4404 to performanother SCI input and SCO output shift operation. The second countercontains the number of PCI input and PCO output operations required tofill and empty the TCA scan paths. States 4404 and 4406 perform theshift operation of the PAT scan cycle.

When the TCA PCI input and PCO output operation is complete the CC2signal from the second counter is set which causes the PAT controller4104 to transition from state 4406 to the Capture and Reset state 4408to perform a CR operation of the PAT scan cycle by setting SE low andproviding a clock on SC. If the required number of PAT scan cycles isnot complete, the CC3 signal from the third counter will not be set andthe PAT controller 4104 will transition from state 4408 to state 4404 toperform additional scan cycle shift operations. The third countercontains the number of required PAT scan cycles.

When the required number of PAT scan cycles have been performed, the PATcontroller 4104 will transition from state 4408 to the Shift Data or EndOf Test state 4410. If a single device is being tested by the JTAGcontroller as shown in FIG. 16, state 4410 is an End Of Test state andthe JTAG controller can transition the device's TAP out of the Shift-DRstate which causes the PAT controller 4104 to transition to Idle state4402. However, if the device is being tested in a daisy-chainarrangement 2408 with trailing devices, state 4410 is a Shift Data stateand the JTAG controller remains in state 4410 for as long as necessaryto shift SCO data from the BRs of trailing devices. Once the trailingBRs have been emptied of SCO data the JTAG controller transitions thedevice's TAP from the Shift-DR state which causes the PAT Controller4104 to transition from state 4410 to the Idle state 4402.

FIG. 45 illustrates the operational timing diagram of the PATcontroller's CK, SE, and SC output signals. As seen the PAT testincludes the input of SCI data and output SCO data 4502 during state4404, the input of PCI data and the output of PCO data 4504 in state4406, and the CR operation 4506 in state 4408. These PAT test operationsare repeated per the state diagram of FIG. 44 until the PAT test iscomplete. During the PAT test operations, the device TAP remains in theShift-DR state. In daisy-chain arrangements, leading operations 4508 maybe executed to fill leading device BRs with SCI data and trailingoperations 4510 may be executed to empty trailing device BRs of SCOdata.

The advantage of using the PAT controller 4104 to control PAT testing asdescribed in above FIGS. 41-45 is that it eliminates the need of havingto transition the device TAP through different states. The PAT testoccurs by simply loading the PAT Controller test instruction, thentransitioning the device TAP to the Shift-DR state to stream SCI data inand SCO data out of the device.

Although the disclosure has been described in detail, it should beunderstood that various changes, substitutions and alterations may bemade without departing from the spirit and scope of the disclosure asdefined by the appended claims.

What is claimed is:
 1. A programmable access test compressionarchitecture comprising: A. functional circuitry having test stimulusinputs and test response outputs; B scan path circuits, each scan pathcircuit having a scan input, a scan output, a scan clock input, a scanenable input, stimulus outputs coupled to the stimulus inputs of thefunctional logic, and response inputs coupled to the response outputs ofthe functional logic; C. decompressor circuitry having compressed datainputs and having outputs connected to the scan inputs of the scan pathcircuits; D. compactor circuitry having inputs connected to the scanoutputs of the scan path circuits and having compressed data outputs; E.a serial compressed data output; F. an output shift register havingparallel inputs connected to the compressed data outputs, a serialoutput connected to the serial compressed data output, and a shift clockinput; G. a serial compressed data input coupled to the compressed datainputs of the decompressor circuitry; H. a scan clock input coupled tothe scan path circuits, the decompressor circuitry, and the compressorcircuitry; and I. a scan enable input coupled to the scan path circuits,the decompressor circuitry, and the compressor circuitry.